Estrutura Básica

Rede basica: Estrutura básica das interações e seus agrupamentos principais.

Tipos de interação: Estrutura básica, agrupamentos e foco nos tipos de interação.

Medidas de importância

in_degree

out_degree

betweenness

eigenvector

Análise de sentimento

Row

Polaridade Geral

Medo

Surprisa

Tristeza

Nojo

Raiva

Antecipação

Alegria

Confiança

---
title: "MTST no Twitter"
output:
  flexdashboard::flex_dashboard:
    orientation: rows
    social: menu
    source_code: embed
---

```{r setup, include=FALSE}
if (!('devtools' %in% installed.packages()[,'Package'])){install.packages("devtools")}; require(devtools);              # To get packages from Github
if (!('rtweet' %in% installed.packages()[,'Package'])){install.packages("rtweet")}; require(rtweet);                    # Twitter API interface
if (!('igraph' %in% installed.packages()[,'Package'])){install.packages("igraph")}; require(igraph);                    # graphs
if (!('tidygraph' %in% installed.packages()[,'Package'])){install.packages("tidygraph")}; require(tidygraph);           # graphs as dplyr
if (!('leiden' %in% installed.packages()[,'Package'])){install.packages("leiden")}; require(leiden);                    # Clustering algorithm
if (!('flexdashboard' %in% installed.packages()[,'Package'])){install.packages("flexdashboard")};require(flexdashboard);# For dashboards 

# load necessary function files
wd <- '/home/cesar/Dropbox/R/Twitter_analyses/Projetos/MTST_semanal'
setwd(wd)
file.sources = list.files(paste0(wd,'/modular_codes'), 
                          pattern="*.R", full.names = TRUE, )
sapply(file.sources,source, local = knitr::knit_global())
```

```{r}
search_term = c('MTST', 'Nucleo de Tecnologia')
# Start from Here when twitter data is provided
tweet_df <- rtweet::read_twitter_csv('data/twitter_data.csv')
```

```{r}
meta <- list(tweets = nrow(tweet_df),
             by_term = t(as.matrix(table(tweet_df %>% pull(query)))))

# Polaridade de sentimentos com base em bancos em PtBr oplex e Sentilex
tweet_df <- polaridades(tweet_df)

# Interaction Network
net <- my_network_graph(tweet_df) %>%
  as_tbl_graph()

# Interaction network metrics
net <- net %N>% 
  mutate(community = as.factor(leiden(net, resolution_parameter = 0.5))) %E>%
  mutate(community = .N()$community[from]) %E>% # .N() makes the node data available while manipulating edges
  mutate(edge_bet = centrality_edge_betweenness(directed = T)) %N>%
  mutate(in_degree = centrality_degree(mode = 'in')) %>%
  mutate(out_degree = centrality_degree(mode = 'out')) %>%
  mutate(betweenness_c =  centrality_betweenness(directed = T)) %>% # centrality_betweenness can't handle large graphs bc output is list
  mutate(eigen = centrality_eigen(directed = T))
```

Estrutura Básica {data-navmenu="Menu"}
=====================================

### Rede basica: Estrutura básica das interações e seus agrupamentos principais.

```{r}
basic_net(net, meta, search_term)
```

### *Tipos de interação*: Estrutura básica, agrupamentos e foco nos tipos de interação.

```{r}
int_type_net(net, meta, search_term)
```

Medidas de importância {data-navmenu="Menu"}
=====================================
### in_degree
```{r}
p <- centrality_plots(net)
ggplotly(p[[1]])
```
### out_degree
```{r}
ggplotly(p[[2]])
```
### betweenness
```{r}
ggplotly(p[[3]])
```
### eigenvector
```{r}
ggplotly(p[[4]])
```

Análise de sentimento {data-navmenu="Menu"}
=====================================

Row {.tabset}
-------------------------------------

### Polaridade Geral
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'nrc')[[1]]
```

### Medo
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'fear')[[1]]
```

### Surprisa
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'surprise')[[1]]
```

### Tristeza
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'sadness')[[1]]
```

### Nojo
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'disgust')[[1]]
```

### Raiva
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'anger')[[1]]
```

### Antecipação
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'anticipation')[[1]]
```

### Alegria
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'joy')[[1]]
```

### Confiança
```{r}
sentiment_net_plot(net, meta, search_term, sent_vars = 'trust')[[1]]
```